package cn.geminis.workflow.service.entity;

import cn.geminis.lowcode.annotation.CrudRepository;
import cn.geminis.lowcode.annotation.QueryFilter;
import cn.geminis.lowcode.annotation.QueryFilterProperty;
import cn.geminis.lowcode.annotation.UuidEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Inheritance;
import jakarta.persistence.InheritanceType;
import lombok.Getter;
import lombok.Setter;

/**
 * @author puddi
 */
@Getter
@Setter
@UuidEntity
@QueryFilter
@CrudRepository
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public class ApproveResult {

    @Column(length = 36, nullable = false)
    @QueryFilterProperty
    private String processInstanceId;

    @Column(length = 36, nullable = false)
    @QueryFilterProperty
    @QueryFilterProperty(filterType = QueryFilterProperty.FilterType.In)
    private String taskInstanceId;

    @Column(length = 36, nullable = false)
    private String result;

    @Column
    private String comment;

    @Column(length = 36)
    private String nextTaskKey;
}
